public class AbstractTest {
    //abstract可以用来修饰的结构：类、方法
    //抽象类中一定有构造器，便于子类实例化时调用（涉及：子类对象实例化的全过程）
    //开发中，都会提供抽象类的子类，让子类对象实例化，完成相关的操作

    //抽象方法只有方法的声明，没有方法体
    //包含抽象方法的类，一定是一个抽象类。反之，抽象类中可以没有抽象方法的
    //若子类重写了父类中的所有抽象方法之后，此子类方可实例化



    public static void main(String[] args) {

//        Person p1 = new Person();
//        p1.eat();
        Student s = new Student();
        s.eat();

    }



}


abstract class Person{
    String name;
    int age;
    public Person(){

    }
    public Person(String name, int age ){
        this.name  =name;
        this.age = age;

    }

    public void eat(){
        System.out.println("人吃饭");
    }

    public void walk(){
        System.out.println("人走路");
    }

}


class Student extends Person {
    public Student() {
        super("ff",33);
    }


}